Network Processing in Agisoft Metashape

Agisoft Metashape is a great piece of photogrammetry software. Some of Metashape's many strengths include an intuitive layout, a somewhat linear workflow, and the ability to run python scripts to automate tasks. However, there is one Metashape function that is (in my opinion) really undervalued for the value that it brings. That function is the ability to distribute processing over a network of computers.

The reasons I find network processing valuable are:

  • you can process jobs faster by making multiple machines work on a task at once
  • you can free up your own workstation to continue working on other things.
  • I'm fascinated by the network monitor - for some strange reason I enjoy seeing how the Metashape server delegates tasks across machines, and seeing the progress of those machines. It's the small things in life isn't it...

NP.png
A screen capture of the Agisoft Network Monitor doing it's thing

Wait a minute - what is this thing you call 'network processing'?

Network processing is when you allow processing for your Metashape project to be completed over a network of computers. A server will direct tasks to computers (also called nodes) that are registered with the server and ready to process. Major processing tasks can be divided into smaller operations that can be sent to various machines, meaning they can be computed at the same time (parallelised):

Most of the general processing tasks support fine level task subdivision, i.e. can be processed on multiple nodes simultaneously, however, there are some that will be processed on the single node only (Build Mesh from the dense cloud source, Build Texture - from the main Workflow operations).

( by the way, the forums are a treasure trove of information if you're seeking help with Metashape.)

Network processing at SEE

The School of Earth and Environment has a server that is usually ready to accept jobs. It is called seesalsdo1p. SEE also has two dedicated Virtual machines for Metashape processing. All those two machines do is wait for you to send them a job that they can put their number crunchin' skills towards.

But that is not it. You can also register any other computer as a node to increase the network processing power. The computer you add does have to meet certain minimum conditions:

  1. The machine has a Metashape installed and has an active license
  2. The version of Metashape is the same as the other nodes.
  3. The machine should have:
  4. 32 GB of RAM.
  5. The machine needs to have access to your project files.

In the list above, 1 is quite easy as most machines that have Metashape installed will have a license, as the University has access to dozens of Metashape licenses. 32GB of RAM is common for desktop machines these days so 2 is not that hard. The hardest part is to ensure that the files are shared across the network system, so let's explore that.

Network file storage

Each node needs to be able to find every file that is associated with your project. To make sure every node see the same files as each other, we've tried various solutions in the past but have found that the most resilient at UC is to use UNC paths and store files on the UC Shared folder. A UNC path is a path that starts with a double backslash. An example of a UNC path to a Metashape project looks like something like this:

\\file\Shared\SEESPhotoDatabase\JD\rocks\magma pop rock1\rock1.psx
I know, I know, very original naming scheme Jonathan

There are two shared folders that can be used to that effect:

  • \\file\Shared\SEESPostgrad\ - a folder that all staff and postgrad have access to. This folder should only be used for processing, not for long term storage. Does this folder look familiar to you? That's most likely because you already have this folder mapped to the U: (universal) drive as U:\SEESPostgrad. Avoid using this mapped drive though, using this type of path will fail on our VMs.
  • \\file\Shared\SEESPhotoDatabase - a folder that is used as long term storage for photos collected by the School. Access to this folder is more restricted.

Let's get network processing in here

Ok so now you have all the knowledge that is required to start network processing, here is my recipe to get you started.

  1. Enable network processing by opening Metashape, and navigating to the preferences under the Tools > Preferences menu. Open the network tab, tick the Enable network processing and type seesalsdo1p as a host name. keeps the port the default 5840.
  2. Start your project by saving it on a network folder. make sure you navigate to the network folder using UNC paths, e.g. by typing \\file\Shared in the folder textbox of the save dialog.
  3. When you start a new task ( e.g. you first task will probably be Align Cameras), a prompt will appear asking whether you would like to use network processing. If you select yes, your project will be saved and sent to the server to delegate tasks.

That's it! The project will close and you can watch the progress in the dialog box, or you can go see watch happening under the hood in the network monitor, just use the same server name to connect.

Common issues


Aw c'mon! I used UNC paths but the network still doesn't recognise the paths. I get an error that looks like:

Can't open file: The system cannot find the file specified (2): C:/WINDOWS/system32/xxx.psx

The most likely problem here is that you opened your project by double clicking on the project file in the file explorer. In order to ensure Metashape recognises the UNC path correctly, make sure you open the project by first opening Metashape, and the using the File > Open dialog box to open the file.


Gaah! I sent my project to be processed over the network, I can see it in the project list but it just sits there and none of the nodes pick it up!

First thing I would check is whether the project Metashape version matches the node version. If it doesn't, you'll have to up or downgrade to match. We'll try to keep a self-executing install file in the SEESPostgrad/Installs folder (if it isn't there, just get in touch!).
Another issue might be that the nodes are paused. You can see what state the nodes are in under the State heading - it should say Ready. You can start, stop and pause nodes by right clicking on each node and using the dropdown menu.
If something doesn't seem right with the nodes, just get in touch and we'll try and sort it out.


Wow, this walkthrough just opened my eyes to a whole new world I didn't know anything about. I need to know more about setting up my own network!!

Aww such kind words, glad you enjoyed this. For more info, check out this neat handy explainer from the Metashape helpdesk- I think it has all you'll ever need about network processing, well except for maybe the Metashape manual itself.